草庐IT

MySQL 枚举空值

全部标签

java - 如何给定类名 "valueOf"枚举?

假设我有一个名为Animal的简单枚举,定义为:publicenumAnimal{CAT,DOG}我有一个像这样的方法:privatestaticObjectvalueOf(Stringvalue,ClassclassType){if(classType==String.class){returnvalue;}if(classType==Integer.class){returnInteger.parseInt(value);}if(classType==Long.class){returnLong.parseLong(value);}if(classType==Boolean.cla

java - 嵌套枚举-为什么使用它?

我见过在枚举中声明枚举的结构。这是做什么用的? 最佳答案 Java中的枚举无法扩展,因此如果您想在一个地方整理强相关的枚举,您可以使用这些嵌套的枚举结构。例如:publicenumDepartmentsAndFaculties{UN(null,"UN","University"),EF(UN,"EF","EngineeringFaculty"),CS(EF,"CS","ComputerScience&Engineering"),EE(EF,"EE","ElectricalEngineering");privatefinalDepar

java - 枚举和变量的名称相同

我有以下代码(我知道它不好;)):publicclassClazz1{publicinttest=10;publicenumtest{a,s,d,f}voidsth(){//...}}有什么方法可以访问这个枚举吗?当我键入“test”时,它总是表示int变量。与这种情况相关的规则是什么-为什么编译器甚至允许enum和int具有相同的名称? 最佳答案 publicclassClazz1{publicinttest=10;publicenumtest{a,s,d,f};publicstaticvoidmain(){System.out.

Java:新枚举是旧枚举的子集

在Java中,有什么方法可以从现有枚举定义新的枚举吗?我想要以下功能。publicenumA{1,2,3,4,5,6,7,8,9};publicenumB{1,2,3,4};publicenumC{3,4,5,6,7};1、2、3和all必须相同,即A.1==B.1=trueB.4==C.4=true现实生活中的例子是“DAYS”、“WEEKDAYS”、“WEEKENDDAYS”、“LECTUREDAYS”、“PARTYDAYS”等等。 最佳答案 您不能扩展枚举,但从您的周/周末示例来看,您似乎需要稍微不同地考虑它。如果我们有enu

java - 将枚举值关联到整数

我有这个枚举:publicenumDigits{ZERO(0);privatefinalintnumber;privateDigits(intnumber){this.number=number;}publicintgetValue(){returnnumber;}}我想在另一个类中制作setter,我可以提供以下功能:-我将给它整数值(在本例中为0)并且该setter会将枚举零设置为我的Digits类型的局部变量那可能吗?非常感谢! 最佳答案 这是可能的,但不是通过调用enum的构造函数,因为它只在枚举本身内可用。你可以做的是在你

Java MyBatis 枚举字符串值

我觉得这是一个简单的问题,但我尝试过的所有方法都不适合我。我有一个枚举,我有字符串构造函数的原因是因为Java不允许枚举为数字。我在没有字符串构造函数的情况下直接尝试了AA、AB、2C,但这给出了一个错误。请注意,对于现有的枚举,我添加了C("2C")。publicenumTestEnum{AA("AA"),AB("AB"),C("2C");privateStringdisplay;privateTestEnum(Stringdisplay){this.display=display;}publicStringtoString(){returndisplay;}publicString

Java:特定枚举和通用 Enum<?> 参数

我想将任何枚举值传递给实用程序类中的方法,并获得相同枚举类型的另一个枚举值。像这样:publicclassXMLUtils{publicstaticEnumgetEnumAttribute(Elementelement,Stringname,EnumdefaultValue){if(element.hasAttribute(name)){StringvalueName=element.getAttribute(name);//searchforvaluefor(Enumvalue:defaultValue.getClass().getEnumConstants())if(value.t

引用另一个枚举的 Java 枚举

我希望能够定义一个Enum类,该类将包含另一个Enum及其自身的值。例如:publicenumA{A1,A2,A3;}publicenumB{B1,B2,...(somehowdefinereferencestoallvaluesinenumA)}因此枚举B中包含的任何值必须是自身定义的(例如B1、B2)或枚举A的任何值。谢谢, 最佳答案 B是A和B的并集?如果没有B扩展A,这是不可能的,即notsupported在java。继续的方法是创建一个enum,其中包含A和B的组合值,例如,enumC{A1,A2,A3,B1,B2;}

java - 如何强制 Hibernate 返回一个空值而不是 null?

我使用的是Oracle11GR2,当varchar2字段为空时,在空字段上执行System.out.println将在我的Eclipse控制台上显示null。我怎样才能让它显示空字符串? 最佳答案 在getter中使用这个技巧很好,但它会改变模型的预期行为。正如我在评论中引用的那样,Oracle无法区分空字符串和null。如果您确定您正在使用的所有字符串属性永远不会为null,您可以像这样在hibernate中创建一个拦截器publicclassEmptyStringInterceptorextendsEmptyIntercepto

java - Map.containsKey() 在没有空值的 Map 中有用吗?

在下面的代码中:if(map.containsKey(key)){map.remove(key);}关于性能,在尝试从map中删除值之前先执行Map.containsKey()检查是否有用?同样的问题也适用于检索值,如果您知道map不包含null值,那么首先进行包含检查是否有用?if(map.containsKey(key)){Objectvalue=map.get(key);} 最佳答案 remove如果没有key的映射,则返回null不会抛出异常:publicVremove(Objectkey)我看不出有任何理由在尝试删除key